Digital media transfer based on user behavior

ABSTRACT

A collection of digital media is stored at a source device and transferred to a target device. A subset of the collection may be transferred based on a priority related to points assigned by a user&#39;s rating of particular digital media and on rules based on particular user actions.

PRIORITY CLAIM

This application claims priority from and is a continuation of U.S. patent application Ser. No. 11/045,848, filed on Jan. 28, 2005, which is incorporated by reference herein.

TECHNICAL FIELD

This disclosure relates to transferring data such as digital media from one computing device to another computing device.

BACKGROUND

Due to the advance of digital media technology and decreasing price of computer storage, users increasingly store digital media collections on their main personal computers (PC). Digital media includes music, pictures, videos and the like. However, not all consumption or use of digital media occurs on a user's main PC. Increasingly users are transferring all or some of their collection to portable computing devices such as personal media players (e.g. portable music players), personal digital assistants (PDA), and laptop computers. Transferring allows the user to enjoy the media without being tied to the user's main PC.

With larger collections of digital media and the advent of high capacity storage on portable computing devices, filling portable computing devices with a meaningful subset of a user's digital media collection can be a laborious task. This is especially the case when the user's digital media collection on the main PC is larger than the storage available on the portable computing device.

Conventionally, the user is left to manually manage this problem. If the collection of digital media on a source device (e.g., main personal computer) exceeds the storage capacity of a target device (e.g., a portable computing device), the user manually selects which items to include (and/or exclude) in a transfer to the target device.

Furthermore, in conventional approaches, the user may have to remove digital media from an otherwise full memory of the target device when the user wishes to replace such digital media with new digital media from the collection resident at the source device.

SUMMARY

A source computing device connects with a target computing device and determines the storage capacity of the target device to receive a collection of digital media stored at the source computing device. The digital media at the source computing device can be rated by a user and points assigned to the digital media. Furthermore, criteria may be applied to add points to the digital media where such criteria are based on user behavior or action as to the digital media. Based on the points of the digital media, a transfer list of digital media may be sent from the source computing device to the target computing device.

BRIEF DESCRIPTION OF THE CONTENTS

The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different figures indicates similar or identical items.

FIG. 1 is an illustration of a source device and a target device scenario in which digital media is transferred based on user priority and behavior.

FIG. 2 is an illustration of a user interface that allows a user to rate digital media;

FIG. 3 is a block diagram of a computer used to synchronize digital media;

FIG. 4 is a flow diagram illustrating transferring digital media from a source device to a target device when the two devices are initially connected;

FIG. 5 is a flow diagram illustrating transferring digital media from a source device to a target device after a transfer list has been sent to the target device; and

FIG. 6 is a block diagram of a detailed implementation of a computing device which provides a graphical user interface of a list of thumbnails where particular thumbnails may be overlapped.

DETAILED DESCRIPTION

The following disclosure describes techniques in which digital media is transferred to one computing device such as a main personal computer (PC) to another computing device such as a portable media player. The transferring is based on user ratings and criteria based on user behavior as to the digital media.

FIG. 1 illustrates a source device to a target device synchronization scenario 100. The depicted scenario 100 includes a source device 105 (e.g., a desktop personal computer) and a coupled target device 110 (e.g., a portable computing device such as a portable media player). An exemplary target device storage sync manager 115 may be implemented on the source device 105.

Target device storage sync manager 115 may be embodied on one or more processor-readable media (such as a computer storage sub-system or memory 120). Target device storage sync manager 115 operates on source device 105 and may be implemented as part of a multimedia software product, an operating system, or a dedicated multimedia appliance.

The exemplary target device storage sync manager 115 provides a user-configurable model for facilitating transfer of a subset of a user's collection of digital media to the target device 110 from the source device 105. Some digital media in the collection may be more important to the user than others. Importance of specific digital media may be based on a set of criteria and user rating. Examples of digital media in a digital collection may include audio (e.g., music), video (e.g. digital television), text, or image files.

In at least one embodiment, digital media that matter most to the user are prioritized based on a set of criteria. Points may be assigned to each digital media based on such criteria and may be combined with points from a user rating as to each of the digital media. If memory space in the target device 110 allows, digital media having lower points may be used to fill the remaining memory space in target device 110. Digital media that the user does not want (i.e., very low points) on the target device 110 may not be transferred.

The scenario 100 shows a transfer interface 130 between the source device 105 and target device 110. Transfer interface 130 may be wired or wireless. Examples of a wired interface include USB, IEEE 1394, IEEE 1284 (“parallel” connection), RS-232 Serial connection, and/or Ethernet, Token Ring, and similar networks. Examples of a wireless interface include Bluetooth; Infra-Red (IR); 802.11a, b, or g; GPRS, CDMA, EVDO, EDGE, and other related wireless telephony data-transmission standards. In some implementations, transfer interface 130 may provide for data transfer over a short distance (e.g., measured in a few feet) or over a long distance (e.g., measured in miles).

From the highest to lowest priority (i.e., highest points to lowest points), digital media are transferred from the source device 105 to the target device 110 via the interface 130. This transfer occurs until the collection is exhausted or the storage capacity of the target device 110 is consumed. Assuming that the storage capacity of the target device 110 is less than that which would be consumed by an entire digital collection resident at source device 105, this action stores the most user-desirable (i.e., highest points) digital media from the digital collection.

The transfer of digital media from the source device 105 to the target 110 may be called “synchronization”. As the collection on the source device 105 changes (e.g., items removed, items added, and/or digital media rating changes), the subset of the collection which is stored on the target device 110 changes with each synchronization. If storage space on the target device 110 is limited, digital media may be removed from the target device 110 during synchronization and replaced with new digital media from the digital collection on the source device 105 which have higher points. Typically, the synchronization process will remove the lowest point digital media in bottom-up fashion until sufficient space is cleared to store higher priority digital media that have not yet been synchronized with the target device 110.

A user may assign points to digital media. These points may be combined with points derived from a set of criteria that is based on user behavior. For example, there may be a criteria that assigns more points to recently added (i.e., newer) digital media than older digital media. Other exemplary criteria are further described in detail below.

The source device 105 is depicted as a desktop personal computer. However, in other implementations, the source device 105 may be a portable laptop computer, a portable computing device, a mini-computer, a mainframe computer, a server, a storage system, a dedicated digital appliance, or another device having a storage sub-system configured to store a digital collection of digital media.

The target device 110 is depicted as a portable computing device, such as a portable media player. However, in other implementations, the target device 110 may be a non-portable computer, a portable laptop computer, a mini-computer, a mainframe computer, a server, a storage system, a dedicated digital appliance, or another device having a storage sub-system configured to store a digital collection of digital media.

Digital media of a collection may include any type of independently addressable unit of digital data which is typically stored within a computer memory or storage system. Examples of such digital media include, but are not limited to: music, image, video, text documents, hypertext document, documents of any format, applications, spreadsheets, graphics, play-lists, and data. Furthermore, digital media may include a collection of other digital media. In examples below, music files are used as a particular example of digital media.

FIG. 2 shows a user interface that allows a user to rate digital media. In this example, music files as digital media are described; however, it is contemplated that other digital media may be rated. Computer 105 and particularly a screen of computer 105, displays the user interface 125 described above. The user interface 125 particularly provides information as to digital collections that are stored in computer 105.

Computer 105 includes a user input device such as keyboard 200. Keyboard 200 may include another user input device such as a mouse (not shown). In certain implementations, the input devices are separate of one another. The input devices specifically are used to maneuver an on-screen pointing icon 205. The pointing icon 205 is used to select particular elements in user interface 125.

In this example, user interface 125 includes a hierarchical structure of files that describe music albums that contain songs. The top element of the user interface 125 is “music albums” 210. A user may select “music albums” 210. The selection may open a list of elements described as “albums”. Shown in the list of albums are “album 1” 215, “album 2” 220 and “album N” 225. The user may select an album from the list of albums. The example shows “album 2” 220 selected by the user. The selection of “album 2” 220 opens a list of songs which are included in “album 2” 220.

The songs in “album 2” 220 (and other albums) are presented in two columns. Column 230 identifies particular songs by name. It is contemplated that particular songs may be included in multiple albums. A unique name or identifier is used to distinguish specific songs. Column 235 identifies user defined ratings for each song. The user through an input device such as keyboard 200 may select a song in column 230 and assign a priority or rating value to the song. In this example, a rating system using stars or asterisks is used. The user may assign a value of zero to five stars (asterisks) to songs, with five stars (asterisks) being the highest priority or rating. The values may be translated to points which can be combined with points derived by other criteria to arrive at an overall point total for the songs (i.e., digital media)

FIG. 3 shows source device or computer 105 in more detail. As discussed above, computer 105 is described as a main PC; however, as discussed above, computer 105 may also be a portable laptop computer, a portable computing device, a mini-computer, a mainframe computer, a server, a storage system, a dedicated digital appliance, or another device having a storage sub-system configured to store a digital collection of digital media. An exemplary architecture of computer 105 is further discussed in greater detail below in FIG. 5.

Computer 105 includes a central processing unit (CPU) or processor 305 and a memory 310. In one embodiment, processor 305 accesses memory 310 through a system bus (not shown). The memory 310 includes a collection or database of digital media, and in this example it is a “music albums database” 315.

Memory 310 includes a transfer list 320 which includes a list of songs (i.e., digital media) to be transferred to another computing device such as target device 110. In certain embodiments, transfer list 320 includes more than one record (list) to be transferred or has been transferred to more than one target device. In this example, transfer list 320 includes a particular list that will be transferred to a target device.

Memory 310 further includes “criteria” 325 which includes a set of criteria that are applied to particular digital media (i.e., songs) based on a user's behavior. User behavior may include actions performed by a user on computer 105, where such actions are tracked. Criteria 325 applies criteria (rules), from which points are derived. Such points are assigned to the digital media and may be combined with points from a user rating. Examples of particular criteria are described below.

As discussed above, computer 105 includes a target device storage sync manager 115 that may be stored in a separate memory 120. In certain embodiments, the target device storage sync manager 115 may be stored in memory 310. In addition to functions described above, target device storage sync manager 115 receives from a target device (e.g., target device 110) a current transfer list of songs resident in the target device.

Computer 105 further includes a user input interface 330 configured to communicate with memory 310 and processor 305. The user input interface 330 may receive inputs from an input device such as keyboard 200 described above in order to enter a rating for each of the particular digital media. Such ratings may translate to points. The input from the user input interface 330 may be manifested in a user interface such as user interface 125 described above.

Computer 105 includes a display output interface 335 configured to communicate with a display as described above. In particular, the display output interface 335 provides a user interface (e.g., user interface 125) that allows a user to enter priorities or ratings of songs. Such ratings may be used to generate points for each particular song.

In addition to points that are generated by user rating, points may be generated by the following criteria:

-   -   Digital media or song play count. For example, songs played a         lot get more points and are more likely to stay on the target         device. This criterion may apply to digital media songs played         at the source device and/or the target device.     -   Association with other (different) files or albums. For example,         songs that are included on multiple albums may be given higher         points. Albums may apply to either the source device and/or the         target device.     -   Creation or acquisition date. Recently purchased or recently         recorded digital media may be given higher points than older         digital media.     -   Purchase date. Recently purchased digital media may be given         higher points.     -   Time consumed, where the time consumed may be the time listened         to, time played, time viewed, time edited, etc. More recent time         values may be given more points than older time values.     -   Availability of more interesting substitutes. For example, in         the case of digital television media, last night's episode of a         news program may be deleted in favor of today's episode of the         news program.

Furthermore, overall points for the digital media (i.e., songs) may be based on a weighted factor for each of the criteria. In other words, particular criteria may provide higher points than other criteria.

FIG. 4 shows a process 400 to transfer digital media from a target device to a source device. In particular, the process may be performed during an initial (i.e., first) connection between the target and the source device. The process 400 is illustrated as a collection of blocks in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, firmware, or a combination thereof. In the context of software, the blocks represent computer instructions that, when executed by one or more processors (e.g., processor 305), perform the recited operations.

The process 400 is described with reference to computer 105 that implements the music albums database 315, the transfer list 320, criteria 325 and the target device storage sync manager 115 described above. Although described as a flowchart, it is contemplated that certain processes may take place concurrently or in a different order.

At block 405, a connection is established with a target device such as target device 110. The connection may be through a transfer interface such as transfer interface 130 and as described above may be through a wired/wireless interface or connection.

At block 410, the source device receives or gets the storage capacity of the target device. In specific, the storage capacity relates to the amount of digital media (e.g., songs) the target device is able to hold. Furthermore, it may be determined as to how much storage capacity is available and how much storage capacity is left.

If the storage capacity at the target device is equal or greater than the collection of digital media to be transferred from the source device (i.e., following the YES branch of block 415), at block 420 the collection of digital media is transferred to the target device. The transfer is of the entire collection of the digital media.

If the storage capacity at the target device is not equal or greater than the collection of digital media to be transferred from the source device (i.e., following the NO branch of block 415), the user may be given a choice as to transferring digital media.

If the user does not decide to apply a points system (i.e., following the NO branch of block 425), at block 430 transfer of digital media may occur by simply transferring digital media by the most recently added or recorded at the source device. The transfer takes place and continues until the storage capacity or space in the target device is exhausted.

If the user decides to apply a points system (i.e., following the YES branch of block 425), at block 435 media in a collection are assigned points based on criteria which may or may not include points from a user rating.

At block 440, the digital media is sorted in descending order. Digital media with higher points are placed in a higher order.

At block 445, a transfer list is created. The transfer list may be based on the capacity of the target device. The transfer list is created with digital media with higher points at the top of the transfer list.

At block 450, the transfer list may be shortened based on the storage capacity of the target device. In other embodiments, digital media from the transfer list is sent until the storage capacity of the target device is exhausted.

At block 455, the transfer list is sent to the target device. This step may be performed through the transfer interface 130 described above.

FIG. 5 shows a process 500 to transfer digital media from a target device to a source device after a transfer list has been sent to the target device. In particular, the process may be performed during subsequent (i.e., after initial) connections between the target and the source device where a transfer list of digital media has been sent to the target device. Process 500 may be freeing up storage space in the target device and transferring new highly rated digital items to the target device.

The process 500 is illustrated as a collection of blocks in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, firmware, or a combination thereof. In the context of software, the blocks represent computer instructions that, when executed by one or more processors (e.g., processor 305), perform the recited operations. The process 500 is described with reference to computer 105 that implements the music albums database 315, the transfer list 320, criteria 325 and the target device storage sync manager 115 described above. Although described as a flowchart, it is contemplated that certain processes may take place concurrently or in a different order.

At block 505, a connection is established with a target device such as target device 110. The connection may be through a transfer interface such as transfer interface 130 and as described above may be through a wired/wireless interface or connection.

At block 510, the source device gets roundtrip criteria of digital media that is stored in the source device and the target device. In particular, criteria describe rules that are applied to digital media from which points are derived. Such criteria may change from prior connections between the source device and target device.

At block 515, the collection of digital media is recalculated based on the roundtrip criteria. In specific, the digital media of the collection are given new points based on the roundtrip criteria.

At block 520, a new transfer list is created. The new transfer list of digital media is based on the new point values of the digital media as derived at block 515.

At block 525, an intersection of digital media from the old transfer list and the new transfer list are kept. In other words digital media that are common on both the old and new transfer list are kept and transferred over to the target device.

At block 530, a determination is made as to digital media that are on the target device and compared to the new transfer list. Digital media that are on the target device and not on the new transfer list are deleted from the target device. This frees up storage space on the target device.

At block 535, digital media that is not on the target device, but is on the new transfer list is transferred to the target device. This allows new higher priority digital media to be transferred to the target device.

Computer

FIG. 6 shows an example implementation of computer 105 in greater detail. It will be apparent that this exemplary implementation will include components that are not used in particular architectures, and that described components may be substituted in other architectures.

The computer 105 may be configured with a Windows® brand operating system. The computer 105 includes processing unit or processor 305 described above, a system memory or memory 310 also described above, and a system bus 615 that interconnects various system components, including the memory 310 to the processing unit or processor 305. The system bus 615 may be implemented as any one of several bus structures and using any of a variety of bus architectures, including a memory bus or memory controller, a peripheral bus, and a local bus.

The memory 310 includes read only memory (ROM) 620 and random access memory (RAM) 625. A basic input/output system 630 (BIOS) is stored in ROM 620.

The computer 105 has one or more of the following drives: a hard disk drive 630 for reading from and writing to a hard disk or hard disk array, a magnetic disk drive 635 for reading from or writing to a removable magnetic disk 640, and an optical disk drive 645 for reading from or writing to a removable optical disk 650 such as a CD ROM or other optical media. The hard disk drive 630, magnetic disk drive 635, and optical disk drive 645 are connected to the system bus 615 by a hard disk drive interface 660, a magnetic disk drive interface 665, and an optical drive interface 670, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for computer 105.

Although hard disk 630, removable magnetic disk 635, and removable optical disk 650 are described, other types of computer readable media can be used to store data. Other such media include magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like. Additionally, the computer 105 may be configured to serve data stored on an independent system, such as a RAID (redundant array of independent disks) storage system, particularly when implemented as a terminal server.

A number of program modules may be stored on the hard disk 630, magnetic disk 635, optical disk 650, ROM 620, or RAM 625. The programs include a server operating system 675, one or more application programs 680, other program modules 682 which include “music albums database” 315, transfer list 320, and automatic priority rules 325.

A user may enter commands and information into the computer 105 through input devices such as keyboard 200 and a mouse 688. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, and the like. These and other input devices are connected to the processing unit 305 through a serial port interface 690 that is coupled to the system bus 615, but may alternatively be connected by other interfaces, such a parallel port, game port, or a universal serial bus (USB).

Display 605 or other type of display is also connected to the system bus 615 via an interface, such as a video adapter card 694 (or display output 335 as described above). The computer 105 has a network interface or adapter 696, a modem 698 or other means for establishing communications over network 699, such as an Internet connection. The modem 698 may also facilitate connection from a protocol decoder device.

CONCLUSION

The above-described computer and associated methods describe transferring selected digital media from a source device to a target device based on user behavior. Although the subject matter herein has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed; as exemplary forms of implementing the claimed subject matter. 

1. A method comprising: connecting with a target device by a source device; receiving, by the source device, a first list of digital media items resident in the target device, each digital media item of the first list being associated with a first number of points; providing, by the source device, an option to apply a points system to determine digital media items to transfer from the source device to the target device when a storage capacity of the target device is less than a storage capacity consumed by digital media items stored by the source device; generating, by the source device, a transfer list of digital media items to be transferred from the source device to the target device, the transfer list of digital media items is based on a second number of points associated with each digital media item of the digital media items stored by the source device when the option to apply a points system is selected; and sending digital media items from the source device to the target device that are included on the transfer list and are not included on the first list.
 2. The method of claim 1, further comprising retrieving a set of criteria by the source device, the set of criteria describing rules from which to derive points associated with each digital media item.
 3. The method of claim 2, wherein the first number of points and the second number of points are based on the set of criteria.
 4. The method of claim 2, wherein the first number of points is based on a different set of criteria than the second number of points.
 5. The method of claim 2, wherein the set of criteria includes play count, association with multiple albums, purchase date, time consumed, availability of substitute digital media items, or a combination thereof.
 6. The method of claim 1, further comprising determining, by the source device, digital media items of the first list that are common to the transfer list.
 7. The method of claim 6, further comprising directing the target device to delete digital media items of the first list that are not common to the transfer list.
 8. The method of claim 1, further comprising receiving, by the source device, a user rating for a portion of the digital media items stored by the source device.
 9. The method of claim 8, further comprising assigning, by the source device, points to each digital media item of the portion of the digital media items based on a respective user rating.
 10. The method of claim 9, further comprising assigning, by the source device, additional points to each digital media item of the portion of the digital media items based on a set of criteria.
 11. The method of claim 10, further comprising determining, by the source device, an overall point total for each digital media item stored by the source device, wherein: the overall point total for the portion of the digital media items associated with a respective user rating is based on the respective user rating and the set of criteria; and the overall point total for the digital media items stored by the source device that are not associated with a respective user rating is based on the set of criteria.
 12. A computing device comprising: a processor; and a memory storing: a collection of digital media items; criteria applicable to the collection of digital media items; a transfer list including digital media items of the collection of digital media items to be transferred to a target device; and a target device storage sync manager executable by the processor to: determine when the digital media items to be transferred to the target device exceed a storage capacity of the target device; provide a user selectable option to apply a points system to determine the digital media items of the collection of digital media items to be transferred to the target device when a storage capacity of the target device is less than a storage capacity consumed by the collection of digital media items; and transfer the digital media items of the transfer list to the target device.
 13. The computing device of claim 12, wherein the memory stores an additional transfer list including digital media items to be transferred to an additional target device.
 14. The computing device of claim 12, wherein the criteria include play count at the target device, play count at the computing device, time listened to, time viewed, time edited, or a combination thereof.
 15. The computing device of claim 12, further comprising a transfer interface to transfer the digital media items of the transfer list, the transfer interface including a wired interface or a wireless interface.
 16. One or more computer-readable storage media having computer-executable instructions that, when executed by a processor of a source device, perform operations comprising: determining whether a storage capacity of a target device is less than a storage capacity consumed by a collection of songs stored by the source device; providing an option to select one of a plurality of techniques to determine a portion of the collection of songs to be transferred to the target device when the storage capacity of the target device is less than the storage capacity consumed by the collection of songs; generating a transfer list of songs to be transferred from the source device to the target device based on a particular technique of the plurality of techniques; and transferring the songs of the transfer list to the target device.
 17. The one or more computer-readable storage media of claim 16, wherein the transfer list includes a first set of the collection of songs when a first technique is applied to determine the portion of the collection of songs to be transferred to the target device and the transfer list includes a second set of the collection of songs when a second technique is applied to determine the portion of the collection of songs to be transferred to the target device, the second set of the collection of songs being different from the first set of the collection of songs.
 18. The one or more computer-readable storage media of claim 16, wherein a particular technique of the plurality of techniques includes transferring to the target device songs most recently added to the source device until the storage capacity of the target device is exhausted.
 19. The one or more computer-readable storage media of claim 18, wherein a particular technique of the plurality of techniques includes: assigning points to each song of the collection of songs according to a points system; sorting the collection of songs in descending order based on a number of points assigned to each song; and creating the transfer list based on the storage capacity of the target device, the transfer list including the portion of the collection of songs sorted in descending order based on the number of points assigned to each song.
 20. The one or more computer-readable storage media of claim 16, the operations further comprising receiving the storage capacity of the target device, the storage capacity indicating available storage capacity of the target device. 